package edu.upc.reservas.ws;

import edu.upc.reservas.model.*;
import edu.upc.reservas.service.*;
import java.util.ArrayList;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;

/**
 * @author Carlos Ríos
 */
@WebService(serviceName = "ConsultaReservasWS")
public class ConsultaReservasWS {

  private ReservaService reservaService = new ReservaService();

  @WebMethod(operationName = "consultaReservas")
  public ReservasResponse consultar(@WebParam(name = "datos") String datos) {
    ReservasResponse reservasResponse = new ReservasResponse();
    ArrayList<Reservas> lista = reservaService.consultarReservas(datos);
    /*reservasResponse.setListaReservas(lista);*/
    String sCadena = "";
    if (lista.isEmpty()) {
      reservasResponse.CodigoRetorno(0);
      reservasResponse.setCantidadRegistros(0);
      reservasResponse.setMensajeRetorno("No se se encontraron Reservas.");
    } else {
      reservasResponse.CodigoRetorno(1);
      reservasResponse.setCantidadRegistros(lista.size());
      reservasResponse.setMensajeRetorno("Se encontraron " + lista.size() + " registros");
      for (Reservas reserva : lista) {
        sCadena = sCadena + "Cliente: " + reserva.getCliente().getNombres() + " " + reserva.getCliente().getApellidos() + "\n";
        sCadena = sCadena + "Fecha de Entrada: " + reserva.getReserva().getFechEntrada() + "\n";
        sCadena = sCadena + "Fecha de Salida: " + reserva.getReserva().getFechSalida() + "\n";
        sCadena = sCadena + "Tipo de Tours: " + reserva.getTipoTour().getDescripcion() + "\n";
      }
    }
    reservasResponse.setRegistro(sCadena);
    return reservasResponse;
  }
}